#ifndef _THRUSTSTATE_H_
#define _THRUSTSTATE_H_

#include "State.h"
#include <Timer.h>

class ThrustState : public State
{
public:
	ThrustState();
	~ThrustState();

	virtual VOID			Init();
	virtual VOID			OnEnter( LPARAM param1, LPARAM param2, LPARAM param3  );
	virtual VOID			OnExit();
	virtual VOID			OnUpdate( DWORD dwDeltaTick );

protected:
	virtual VOID			OnMsgForceAttack( AI_MSG *pMsg ) {}
	virtual VOID			OnMsgFlying( AI_MSG *pMsg );
	virtual VOID			OnMsgKnockDown( AI_MSG *pMsg );
	virtual VOID			OnMsgStun( AI_MSG *pMsg );
	virtual VOID			OnMsgLetsGo( AI_MSG *pMsg );
	virtual VOID			OnMsgEnemyFound( AI_MSG *pMsg );
	virtual VOID			OnMsgUseSkill( AI_MSG *pMsg ) {}

private:
	util::Timer				*m_pThrustTimer;
	BOOL					m_bDownAfterThrust;
	DWORD					m_dwDownTimeAfterThrust;
};

#endif // _THRUSTSTATE_H_